// @ts-ignore
import VueTabsChrome from 'vue-tabs-chrome';
import Vue from 'vue';
import App from './App.vue';
import router from './router';
// import './registerServiceWorker';

// vue-resource
// declare module 'vue/types/vue' {
//   interface VueConstructor {
//     http: any
//   }
// }
Vue.use(VueTabsChrome)

import ElementUI from 'element-ui';
import './assets/element-variables.scss';
import 'element-ui/lib/theme-chalk/index.css';
Vue.use(ElementUI);

// import { Message } from 'element-ui';
// Vue.prototype.$msg = Message;
// import { Notification } from 'element-ui';
// Vue.prototype.$noti = Notification;

import Icon from './components/icon/index.vue';
Vue.component("icon", Icon);

// 快捷键绑定
import { CustomHotKeys } from './utils/hotkeys';
// var CustomHotKeys = require('./utils/hotkeys');
new CustomHotKeys();

// monaco 编辑器
import * as monaco from 'monaco-editor'
Vue.prototype.$monaco = monaco;

// 表格
// import 'handsontable/dist/handsontable.full.css';
// import { HotTable } from '@handsontable/vue';
// import Handsontable from 'handsontable';
// Vue.component("hot-table", HotTable);
// Vue.prototype.$hotTable = Handsontable;

// 工具类
import { Utils } from '@/utils/utlis'
Vue.prototype.$utils = Utils;


// http服务
// var VueResource = require('vue-resource');
// import VueResource from 'vue-resource'
// Vue.use(VueResource);
// Vue.http.options.root = 'http://localhost:3000'
import axios from '@/utils/https'
Vue.prototype.$https = axios;


Vue.config.productionTip = false;

import store from '@/store/index';
new Vue({
  router,
  store,
  render: (h) => h(App),
}).$mount('#app');
